private subroutine MeteoPointExport(time)
Export of point site data
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
type(DateTime),
|
intent(in) |
|
|
:: |
time |
|
Variables
Type |
Visibility | Attributes |
|
Name |
| Initial | |
integer(kind=short),
|
public |
|
:: |
i |
|
|
|
Source Code
SUBROUTINE MeteoPointExport &
!
( time )
IMPLICIT NONE
!Arguments with intent(in):
TYPE (DateTime), INTENT (IN) :: time
!local declarations:
INTEGER (KIND = short) :: i
!-------------------------end of declarations----------------------------------
!precipitation
IF ( dtPrecipitation > 0 ) THEN
!set current time
sitesPrecipitation % time = time
!populate data
CALL AssignDataFromGrid (precipitationRate, sitesPrecipitation )
!unit conversion m/s -> mm
DO i = 1, sitesPrecipitation % countObs
IF ( sitesPrecipitation % obs (i) % value /= &
sitesPrecipitation % nodata ) THEN
sitesPrecipitation % obs (i) % value = &
sitesPrecipitation % obs (i) % value * dtPrecipitation * 1000.
END IF
END DO
!write data
CALL WriteData (sitesPrecipitation, fileUnitPointPrecipitation)
END IF
!air temperature
IF ( dtTemperature > 0 ) THEN
!set current time
sitesTemperature % time = time
!populate data
CALL AssignDataFromGrid (temperatureAir, sitesTemperature )
!write data
CALL WriteData (sitesTemperature, fileUnitPointTemperature)
END IF
!solar radiation
IF ( dtRadiation > 0 ) THEN
!set current time
sitesRadiation % time = time
!populate data
CALL AssignDataFromGrid ( radiation, sitesRadiation )
!write data
CALL WriteData ( sitesRadiation, fileUnitPointRadiation )
END IF
!air relative humidity
IF ( dtRelHumidity > 0 ) THEN
!set current time
sitesRH % time = time
!populate data
CALL AssignDataFromGrid ( relHumidityAir, sitesRH )
!write data
CALL WriteData ( sitesRH, fileUnitPointRH )
END IF
!wind speed
IF ( dtWindSpeed > 0 ) THEN
!set current time
sitesWS % time = time
!populate data
CALL AssignDataFromGrid ( windSpeed, sitesWS )
!write data
CALL WriteData ( sitesWS, fileUnitPointWS )
END IF
RETURN
END SUBROUTINE MeteoPointExport